package cn.com.nes.site.service.workOrder;

import cn.com.nes.mybatis.callcenter.entity.WorkOrderInfo;
import cn.com.nes.site.entity.PageData;
import cn.com.nes.site.entity.vo.workOrder.GetAllWorkOrderPageVO;
import cn.com.nes.site.service.workOrder.dto.CustomerRefusalWorkOrderInfoDTO;
import cn.com.nes.site.service.workOrder.dto.GetAllWorkOrderPageDTO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;
import java.util.Set;

public interface CallWorkOrderInfoService {
    List<GetAllWorkOrderPageDTO> queryOrderPage(Page<GetAllWorkOrderPageDTO> page, GetAllWorkOrderPageVO vo);

    /**
     * 查询工单信息
     */
    WorkOrderInfo selectByPrimaryKey(Long workOrderId);

    /**
     * 修改工单信息
     */
    Integer updateByPrimaryKey(WorkOrderInfo workOrderInfo);

    /**
     * 安装工单 - 拒单
     */
    Integer rejectionOrderInstall(WorkOrderInfo workOrderInfo);

    /**
     * 查询安装工单时间轴
     */
    PageData getWorkOrderInstallTimeAxis(Long workOrderId);

    /**
     * 查询安装工单关联的房屋id
     */
    Long getHouseIdByWorkOrderId(Long workOrderId);

    /**
     * 查询客户的拒单情况
     */
    List<CustomerRefusalWorkOrderInfoDTO> getCustomerRefusalWorkOrderInfo(List<String> customerIdList, Set<Long> workOrderIdSet);

    WorkOrderInfo getWorkOrderByPworkOrderId(Long pWorkOrderId);
}
